void main(){

/**
 * List里面常用的属性和方法:
常用属性:
length       长度
reversed     翻转
isEmpty      是否为空
isNotEmpty   是否不为空

常用方法:
add      增加
addA11   拼接数组
indexof  查找 传入具体值
remove   删除 传入具体值
removeAt 删除 传入索引值 

fillRange   修改
insert(index,value);   指定位置插入
insertAll(index,list)  指定位置插入List
tolist()  其它类型转换成List
join()   List转换成字符串
split()  字符串转化成List
 */


//List里面常见的属性：
List myList=["香蕉","苹果","车厘子"];

print(myList.length);//长度（3）
print(myList.isEmpty);//是否为空（false）
print(myList.isNotEmpty);//是否不为空（true）
print(myList.reversed);//对列表倒序排序((车厘子, 苹果, 香蕉))

var newMyList=myList.reversed.toList();

print(newMyList);//对列表倒序排序之后还要将类型转换成List[车厘子, 苹果, 香蕉]


//List里面常见的方法：
List myList1=["香蕉","苹果","车厘子"];
myList1.add("桃子");//增加数据  增加一个
print(myList1);//[香蕉, 苹果, 车厘子, 桃子]

myList1.addAll(["西瓜","芒果"]);//拼接数组 增加多个

print(myList1);//[香蕉, 苹果, 车厘子, 桃子, 西瓜, 芒果]

print(myList1.indexOf("苹*果"));//indexOf查找数据 查找不到返回-1 查找到返回1

myList1.remove("西瓜");//删除数据,删除传入具体值

print(myList1);//[香蕉, 苹果, 车厘子, 桃子, 芒果]

myList1.removeAt(2);//删除数据, 删除传入索引值 

print(myList1);//[香蕉, 苹果, 桃子, 芒果]

myList1.fillRange(1, 2,"aaa");//修改数据

print(myList1);//[香蕉, aaa, 桃子, 芒果]

myList1.insert(1, "bbb");//指定位置插入

print(myList1);//[香蕉, bbb, aaa, 桃子, 芒果]

myList1.insertAll(3, ["ccc","ddd"]);//指定位置插入List

print(myList1);//[香蕉, bbb, aaa, ccc, ddd, 桃子, 芒果]

var str=myList1.join(",");//List转换成字符串以逗号分割

print(str);//香蕉, bbb, aaa, ccc, ddd, 桃子, 芒果

var str1="苹果-葡萄-西瓜";

var list=str1.split("-");//字符串转换成List以横杠分割

print(list);//[苹果, 葡萄, 西瓜]


}